package com.google.code.hs4j.network.nio;

/**
 *Copyright [2008-2009] [dennis zhuang]
 *Licensed under the Apache License, Version 2.0 (the "License");
 *you may not use this file except in compliance with the License.
 *You may obtain a copy of the License at
 *             http://www.apache.org/licenses/LICENSE-2.0
 *Unless required by applicable law or agreed to in writing,
 *software distributed under the License is distributed on an "AS IS" BASIS,
 *WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 *either express or implied. See the License for the specific language governing permissions and limitations under the License
 */
import java.io.IOException;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;

/**
 * SelectionKey handler
 * 
 * @author dennis
 * 
 */
public interface SelectionKeyHandler {
	public void onAccept(SelectionKey sk) throws IOException;

	public void closeSelectionKey(SelectionKey key);

	public void onWrite(SelectionKey key);

	public void onRead(SelectionKey key);

	public void onConnect(SelectionKey key) throws IOException;

	public void closeChannel(Selector selector) throws IOException;
}
